#include "dal_log.h"

//////////////////////////////////////////////////////////////////
// 加入以下代码,支持printf函数,而不需要选择use MicroLIB
#pragma import(__use_no_semihosting)
// 标准库需要的支持函数
struct __FILE
{
    int handle;
};

FILE __stdout;
// 定义_sys_exit()以避免使用半主机模式
void _sys_exit(int x)
{
    x = x;
}
// 重定义fputc函数
int fputc(int ch, FILE* f)
{
    while ((LOG_PRINTF_INTERFACE->SR & 0X40) == 0);   // 循环发送,直到发送完毕

    LOG_PRINTF_INTERFACE->DR = (u8)ch;

    return ch;
}

/**
 * @brief 程序日志打印接口初始化
 *
 */
void vdal_log_init(void)
{
    vhdl_log_init();
}

#ifdef HDL_USING_AUTO_INIT

// 自动初始化
INIT_BOARD_EXPORT(vdal_log_init);

#endif
